﻿using System;
using System.ServiceModel;
using System.Xml.Serialization;
namespace newtelligence.DasBlog.Web.Services
{

    [ServiceContract(Namespace = "urn:schemas-newtelligence-com:dasblog:config-services", ConfigurationName = "IConfigEditService")]
    public interface IConfigEditService
    {

        // CODEGEN: Generating message contract since the operation GetSiteConfig is neither RPC nor document wrapped.
        [OperationContract(Action = "urn:schemas-newtelligence-com:dasblog:config-services/GetSiteConfig", ReplyAction = "*")]
        [XmlSerializerFormat()]
        GetSiteConfigResponse GetSiteConfig(GetSiteConfigRequest request);

        // CODEGEN: Generating message contract since the operation UpdateSiteConfig is neither RPC nor document wrapped.
        [OperationContract(Action = "urn:schemas-newtelligence-com:dasblog:config-services/UpdateSiteConfig", ReplyAction = "*")]
        [XmlSerializerFormat()]
        UpdateSiteConfigResponse UpdateSiteConfig(UpdateSiteConfigRequest request);

        // CODEGEN: Generating message contract since the operation EnumBlogrolls is neither RPC nor document wrapped.
        [OperationContract(Action = "urn:schemas-newtelligence-com:dasblog:config-services/EnumBlogrolls", ReplyAction = "*")]
        [XmlSerializerFormat()]
        EnumBlogrollsResponse EnumBlogrolls(EnumBlogrollsRequest request);

        // CODEGEN: Generating message contract since the operation GetBlogroll is neither RPC nor document wrapped.
        [OperationContract(Action = "urn:schemas-newtelligence-com:dasblog:config-services/GetBlogroll", ReplyAction = "*")]
        [XmlSerializerFormat()]
        GetBlogrollResponse GetBlogroll(GetBlogrollRequest request);

        // CODEGEN: Generating message contract since the operation PostBlogroll is neither RPC nor document wrapped.
        [OperationContract(Action = "urn:schemas-newtelligence-com:dasblog:config-services/PostBlogroll", ReplyAction = "*")]
        [XmlSerializerFormat()]
        PostBlogrollResponse PostBlogroll(PostBlogrollRequest request);
    }


    [MessageContract(IsWrapped = false)]
    public partial class GetSiteConfigRequest
    {

        [MessageHeader(Namespace = "urn:schemas-newtelligence-com:dasblog:config-services:auth-temp")]
        public AuthenticationHeader authenticationHeader;

        public GetSiteConfigRequest()
        {
        }

        public GetSiteConfigRequest(AuthenticationHeader authenticationHeader)
        {
            this.authenticationHeader = authenticationHeader;
        }
    }



    [MessageContract(IsWrapped = false)]
    public partial class GetSiteConfigResponse
    {

        [MessageBodyMember(Namespace = "urn:schemas-newtelligence-com:dasblog:config-services", Order = 0)]
        public SiteConfig siteConfig;

        public GetSiteConfigResponse()
        {
        }

        public GetSiteConfigResponse(SiteConfig siteConfig)
        {
            this.siteConfig = siteConfig;
        }
    }



    [MessageContract(IsWrapped = false)]
    public partial class UpdateSiteConfigRequest
    {

        [MessageHeader(Namespace = "urn:schemas-newtelligence-com:dasblog:config-services:auth-temp")]
        public AuthenticationHeader authenticationHeader;

        [MessageBodyMember(Namespace = "urn:newtelligence-com:dasblog:config", Order = 0)]
        [XmlElement(IsNullable = true)]
        public SiteConfig siteConfig;

        public UpdateSiteConfigRequest()
        {
        }

        public UpdateSiteConfigRequest(AuthenticationHeader authenticationHeader, SiteConfig siteConfig)
        {
            this.authenticationHeader = authenticationHeader;
            this.siteConfig = siteConfig;
        }
    }



    [MessageContract(IsWrapped = false)]
    public partial class UpdateSiteConfigResponse
    {

        public UpdateSiteConfigResponse()
        {
        }
    }



    [MessageContract(IsWrapped = false)]
    public partial class EnumBlogrollsRequest
    {

        [MessageHeader(Namespace = "urn:schemas-newtelligence-com:dasblog:config-services:auth-temp")]
        public AuthenticationHeader authenticationHeader;

        public EnumBlogrollsRequest()
        {
        }

        public EnumBlogrollsRequest(AuthenticationHeader authenticationHeader)
        {
            this.authenticationHeader = authenticationHeader;
        }
    }



    [MessageContract(IsWrapped = false)]
    public partial class EnumBlogrollsResponse
    {

        [MessageBodyMember(Namespace = "urn:schemas-newtelligence-com:dasblog:config-services", Order = 0)]
        public string[] EnumBlogrollsResult;

        public EnumBlogrollsResponse()
        {
        }

        public EnumBlogrollsResponse(string[] EnumBlogrollsResult)
        {
            this.EnumBlogrollsResult = EnumBlogrollsResult;
        }
    }



    [MessageContract(IsWrapped = false)]
    public partial class GetBlogrollRequest
    {

        [MessageHeader(Namespace = "urn:schemas-newtelligence-com:dasblog:config-services:auth-temp")]
        public AuthenticationHeader authenticationHeader;

        [MessageBodyMember(Namespace = "urn:schemas-newtelligence-com:dasblog:config-services", Order = 0)]
        public string blogRollName;

        public GetBlogrollRequest()
        {
        }

        public GetBlogrollRequest(AuthenticationHeader authenticationHeader, string blogRollName)
        {
            this.authenticationHeader = authenticationHeader;
            this.blogRollName = blogRollName;
        }
    }



    [MessageContract(IsWrapped = false)]
    public partial class GetBlogrollResponse
    {

        [MessageBodyMember(Namespace = "urn:schemas-newtelligence-com:dasblog:config-services", Order = 0)]
        public System.Xml.XmlElement GetBlogrollResult;

        public GetBlogrollResponse()
        {
        }

        public GetBlogrollResponse(System.Xml.XmlElement GetBlogrollResult)
        {
            this.GetBlogrollResult = GetBlogrollResult;
        }
    }



    [MessageContract(IsWrapped = false)]
    public partial class PostBlogrollRequest
    {

        [MessageHeader(Namespace = "urn:schemas-newtelligence-com:dasblog:config-services:auth-temp")]
        public AuthenticationHeader authenticationHeader;

        [MessageBodyMember(Namespace = "urn:schemas-newtelligence-com:dasblog:config-services", Order = 0)]
        public string blogRollName;

        [MessageBodyMember(Namespace = "urn:schemas-newtelligence-com:dasblog:config-services", Order = 1)]
        public System.Xml.XmlElement blogRoll;

        public PostBlogrollRequest()
        {
        }

        public PostBlogrollRequest(AuthenticationHeader authenticationHeader, string blogRollName, System.Xml.XmlElement blogRoll)
        {
            this.authenticationHeader = authenticationHeader;
            this.blogRollName = blogRollName;
            this.blogRoll = blogRoll;
        }
    }



    [MessageContract(IsWrapped = false)]
    public partial class PostBlogrollResponse
    {

        public PostBlogrollResponse()
        {
        }
    }


    public interface ConfigEditServiceSoapChannel : IConfigEditService, IClientChannel
    {
    }

}
